/*
 * Copyright (C) 2020 FoilPlanet
 *
 */

#ifndef __VIDEO_SINK_H__
#define __VIDEO_SINK_H__

#include <cstdint>
#include <vector>

#include "anbox/runtime.h"

namespace anbox {
namespace video {
class Sink {
  public:
    virtual ~Sink() {}

    virtual void process_data(const uint8_t *data, size_t size) = 0;

    static void pre_init(const std::shared_ptr<anbox::Runtime> &runtime);

  protected:
    uint32_t m_width;
    uint32_t m_height;
    int32_t  m_format;
    int32_t  m_hor_stride;
    int32_t  m_ver_stride;
};
} // namespace video
} // namespace anbox

#endif /* __VIDEO_SINK_H__ */
